package com.gcxy.service;

import com.gcxy.entity.Project;
import com.gcxy.entity.WeeklyProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gcxy.vo.weekly.ProjectVO;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Huang先森
 * @since 2024-07-22
 */
public interface WeeklyProjectService extends IService<WeeklyProject> {

    /**
     * 根据周报ID获取周报项目
     *
     * @param weeklyId
     * @return
     */
    List<WeeklyProject> getByWeeklyId(Integer weeklyId);

    /**
     * 根据周报ID列表获取周报项目
     *
     * @param weeklyIds
     * @return
     */
    List<WeeklyProject> getByWeeklyId(List<Integer> weeklyIds);

    /**
     * 根据周报ID获取项目
     *
     * @param weeklyId
     * @return
     */
    List<ProjectVO> getProjectByWeeklyId(Integer weeklyId);

    /**
     * 根据周报ID列表获取项目
     *
     * @param weeklyIds
     * @return
     */
    List<ProjectVO> getProjectByWeeklyId(List<Integer> weeklyIds);

    /**
     * 根据周报ID删除周报项目
     *
     * @param weeklyId
     * @return
     */
    void removeByWeeklyId(Integer weeklyId);

    /**
     * 批量添加周报项目
     *
     * @param projectList
     * @param weeklyId
     */
    void addWeeklyProjectList(List<Project> projectList, Integer weeklyId);
}
